import 'package:eyepetizer_example/viewmodel/base_list_viewmodel.dart';

import '../http/Url.dart';
import '../model/common_item.dart';

class HomePageViewModel extends BaseListViewModel<ItemList, CommonItem> {

  List<ItemList> bannerList = [];

  @override
  CommonItem getModel(Map<String, dynamic> json) {
    return CommonItem.fromJson(json);
  }

  @override
  String getUrl() => Url.feedUrl;

  @override
  void getData(List<ItemList>? list) {
    if(list != null) {
      bannerList = list;
      itemList.clear();
      //为Banner占位，后面要接list列表
      itemList.add(ItemList());
    }
  }

  @override
  void removeUselessData(List<ItemList>? list) {
    if(list != null) {
      list.removeWhere((item) {
        return item.type == 'banner2';
      });
    }
  }

  @override
  void doExtraAfterRefresh() async {
    // 此处调用加载更多，是为了获取首次列表数据，因为第一个列表数据用来做banner数据了。
    await loadMore();
  }
}
